<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>使用vue实现css过渡和动画</title>
    <style>
      @keyframes move {
        0% {
          transform: translateX(100px);
        }
        50% {
          transform: translateX(50px);
        }
        100% {
          transform: translateX(0);
        }
      }

      .animation {
        animation: move 2s;
      }

      .pink {
        background-color: pink;
      }

      .green {
        background-color: green;
      }

      .transition {
        transition: 2s ease;
      }
    </style>
  </head>
  <body>
    <script src="https://unpkg.com/vue@next"></script>
    <div id="root"></div>

    <script>
      //  const app = Vue.createApp({
      //    data(){
      //        return{
      //            animate:{
      //                animation:false
      //            }
      //        }
      //    },

      //    methods:{
      //        handleClick(){
      //            this.animate.animation = !this.animate.animation;
      //        }
      //    },

      //    template: `
      //              <div :class="animate">
      //                   hello world
      //               </div>
      //               <button @click="handleClick">按钮</button>
      //            `,
      //  });

      //  const vm = app.mount("#root");
      //  const app = Vue.createApp({
      //    data(){
      //        return{
      //            animate:{
      //                transition:true,
      //                green:true,
      //                pink:false
      //            }
      //        }
      //    },

      //    methods:{
      //        handleClick(){
      //            this.animate.green = !this.animate.green;
      //            this.animate.pink = !this.animate.pink;
      //        }
      //    },

      //    template: `
      //              <div :class="animate">
      //                   hello world
      //               </div>
      //               <button @click="handleClick">按钮</button>
      //            `,
      //  });

      //  const vm = app.mount("#root");
      const app = Vue.createApp({
        data() {
          return {
            styleObj: {
              background: "pink",
            },
          };
        },

        methods: {
          handleClick() {
            if (this.styleObj.background === "pink") {
              this.styleObj.background = "green";
            } else {
              this.styleObj.background = "pink";
            }
          },
        },

        template: `
                  <div class="transition" :style="styleObj">
                       hello world
                   </div>  
                   <button @click="handleClick">切换</button>  
                `,
      });

      const vm = app.mount("#root");
    </script>
  </body>
</html>
